
package com.hlkj.pay.app.merchant.ext.dto.order;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import com.hlkj.pay.enums.PayOrderEnums;
import com.hlkj.pay.infrastructure.model.order.PayOrderDO;
import com.hlkj.pay.infrastructure.model.order.RefundOrderDO;
import com.hlkj.pay.infrastructure.model.pay.PayChannelRequestDO;
import com.hlkj.pay.infrastructure.model.pay.PayWayDO;
import com.hlkj.pay.infrastructure.model.pay.ProviderChannelConfigDO;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * @author HlpayTeam
 * @date 2024/09/26 10:21
 */
@Data
public class ChannelRefundPayOrderContext extends ChannelPayCommonContext{
    /**
     * 支付通道
     */
    private ProviderChannelConfigDO providerChannelConfigDO;

    /**
     * 支付参数
     */
    private PayOrderDO payOrderDO;
    /**
     * 支付方式
     */
    private PayWayDO payWayDO;

    /**
     * 订单退款信息
     */
    private RefundOrderDO refundOrderDO;
    /**
     * 返回的更新退款do
     */
    private RefundOrderDO updateRefundOrderDO;
    /**
     * 通道请求记录
     */
    private PayChannelRequestDO payChannelRequestDO;
    /**
     * 退款状态
     */
    private PayOrderEnums.ORDER_REFUND_STATUS orderRefundStatus;
    private String notifyUrl;

    /**
     * 退款成功时间
     */
    private Long refundSuccessTime;

    /**
     * 实际退款金额
     */
    private String actualRefundAmount;
    /**
     * 累计 退手续费金额
     */
    private String totalRefundFeeAmount;

    @Schema(description = "通道返回码")
    private String bankCode;

    @Schema(description = "通道返回描述")
    private String bankMessage;

}
